package fi.uba.algocontrol.observer.avion;

import fi.uba.algocontrol.model.Mapa;
import fi.uba.algocontrol.model.Vector;
import fi.uba.algocontrol.model.aviones.Avion;
import fi.uba.algocontrol.model.niveles.Puntaje;
import fi.uba.algocontrol.model.pistas.Entrada;
import fi.uba.algocontrol.model.pistas.Pista;
import fi.uba.algocontrol.view.AvionView;
import fi.uba.algocontrol.view.AvionesView;
import fiuba.algo3.titiritero.modelo.GameLoop;

import java.util.Collection;

public class AterrizajesManager
{
	
	
    public static void manage( AvionesView avionesVisibles, GameLoop gameLoop, Mapa mapa )
    {
        Collection<AvionView> avionesVisiblesCp = avionesVisibles.clone();

        for(AvionView avionView : avionesVisiblesCp)
        {
            Avion avion = (Avion)avionView.getPosicionable();
            //Compara distancia con entradas
            for(Pista pista : mapa.getPistas())
            {
                //for(Entrada entrada : pista.getEntradas())
                //{
                    
                    if ( mapa.estanCerca(pista,avion) )
                    {
                        if(avion.puedoDetenermeEnPista(pista))
                        {
                            mapa.remover(avion);
                            gameLoop.remover(avionView);
                            avionesVisibles.remove(avionView);
                            Puntaje.getInstance().incrementar();
                        }

                    }
                //}
            }
        }
    }
}
